package com.linsen.erp.admin.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author zhaoyong
 * @since 2023-07-24
 */
@Getter
@Setter
@TableName("user")
public class UserEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    private String id;

    /**
     * 账户名
     */
    @TableField("username")
    private String username;

    /**
     * 密码
     */
    @TableField("password")
    private String password;

    /**
     * 姓名
     */
    @TableField("name")
    private String name;

    /**
     * 性别：0，保密；1，男；2，女；
     */
    @TableField("gender")
    private Integer gender;

    /**
     * 年龄
     */
    @TableField(value = "age",updateStrategy = FieldStrategy.IGNORED)
    private Integer age;

    /**
     * 邮箱
     */
    @TableField(value = "email",updateStrategy = FieldStrategy.IGNORED)
    private String email;

    /**
     * 手机号
     */
    @TableField("tel")
    private String tel;

    /**
     * 部门id
     */
    @TableField("dept_id")
    private String deptId;

    /**
     * 账户状态：0，停用；1，正常
     */
    @TableField("status")
    private Integer status;

    /**
     * 是否是超级管理员账号：0，否；1，是
     */
    @TableField("is_super")
    private Integer isSuper;

    /**
     * 是否是管理员账号：0，否；1，是
     */
    @TableField("is_admin")
    private Integer isAdmin;

    /**
     * 创建操作人
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建操作人username
     */
    @TableField(value = "create_by_name", fill = FieldFill.INSERT)
    private String createByName;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新操作人
     */
    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 更新操作人username
     */
    @TableField(value = "update_by_name", fill = FieldFill.INSERT_UPDATE)
    private String updateByName;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 删除状态：0，删除；1，正常
     */
    @TableField(value = "is_deleted", fill = FieldFill.INSERT)
    private Integer isDeleted;


}
